package org.sam.swing.table.defaultImpl;

import org.sam.swing.table.DataAccessProvider;

/**
 * 数组默认的数据操作工具
 * 
 * @author sam
 *
 */
public class ArrayDataAcesProvider implements DataAccessProvider {

	/**
	 * 操作的索引位置
	 */
	private int index = 0;

	/**
	 * 操作的索引位置
	 * @return
	 */
	public int getIndex() {
		return index;
	}

	/**
	 * 操作的索引位置
	 * @param index
	 */
	public void setIndex(int index) {
		this.index = index;
	}

	/**
	 * 数组默认的数据操作工具
	 * @param colIndex
	 */
	public ArrayDataAcesProvider(int colIndex){
		this.index = colIndex;
	}
	
	/**
	 * {@inheritDoc}
	 */
	@Override
	public Object getValue(Object e) {
		Object[] array = (Object[])e; 
		if (e == null || array.length <= 0 || index >= array.length)
			return null;
		
		return array[index];
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	public void setValue(Object e, Object v) {
		Object[] array = (Object[])e; 
		if (e == null || array.length <= 0 || index >= array.length)
			return;
		
		array[index] = v;
	}

}
